<template>  
  <div ref="chartContainer" :style="{ width: this.width, height: this.height }"></div>  
</template>  
  
<script>  
import { ref, onMounted } from 'vue';  
import * as echarts from 'echarts'; // 假设您正在使用ECharts库  
  
export default {  
  name: 'StackedLineChart',  
  props: ["width", "height"],
  setup() {  
    const chartContainer = ref(null);  
    let chartInstance = null;  
  
    const chartOptions = {  
      title: {
        text: 'Stacked Line'
      },
      tooltip: {
        trigger: 'axis'
      },
      legend: {
        // data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
        data: ['电压/V', '电流/A', '平均功率/W', '因数数据', '频率数据/Hz', '当前用电量']
      },
      grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
      },
      toolbox: {
        feature: {
          saveAsImage: {}
        }
      },
      xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
      },
      yAxis: {
        type: 'value'
      },
      series: [  
          {
          name: '电压/V',
          type: 'line',
          stack: 'Total',
          data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
          name: 'Union Ads',
          type: 'line',
          stack: 'Total',
          data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
          name: 'Video Ads',
          type: 'line',
          stack: 'Total',
          data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
          name: 'Direct',
          type: 'line',
          stack: 'Total',
          data: [320, 332, 301, 334, 390, 330, 320]
        },
        {
          name: 'Search Engine',
          type: 'line',
          stack: 'Total',
          data: [820, 932, 901, 934, 1290, 1330, 1320]
        }
      ]  
    };  
  
    onMounted(() => {  
      if (chartContainer.value) {  
        chartInstance = echarts.init(chartContainer.value);  
        chartInstance.setOption(chartOptions);  
      }  
    });  
  
    return {  
      chartContainer  
    };  
  },  
  unmounted() {  
    if (chartInstance) {  
      chartInstance.dispose();  
    }  
  }  
};  
</script>  
  
<style scoped>  
/* 组件样式 */  
</style>